import os
import unittest
"""
  启动测试
步骤：
    1.初始化testloader
    2.查找测试用例集合（测试套件）
    3.测试用例执行
    
几种加载 查找测试用例的方式：
1.testloader.discover   查找全部测试用例
2.testloader.loadTestsFromModule()    或 testloader.loadTeststestcase()
    只执行某几个模块 或者 某几个类
"""
# 1. 测试套件初始化 TestLoader()
testLoader = unittest.TestLoader()


# 2.收集测试用例，查找测试用例
dir_path = os.path.dirname(os.path.abspath(__file__))
case_Path = os.path.join(dir_path,"test_case")
# testloader 收集测试用例，discover（文件夹路径，‘test_*.py’）
# 没有放在文件夹内的 都不会被发现

suit = testLoader.discover(case_Path)
print(suit)

# 3.测试用例运行 testtxtrunner
report_path = os.path.join(dir_path,"report")
# 如果没有这个文件，就创建
if not os.path.exists(report_path):
    os.mkdir(report_path)

file_path = os.path.join(report_path,"file")
# 写入文件
with open(file_path,'w',encoding="utf-8") as f:
    # 初始化运行器，以普通文件生成报告
    runner = unittest.TextTestRunner(f,verbosity=2)
    # 运行测试用例 套件
    runner.run(suit)